package ms.platform.progress.dao;

import java.util.List;
import java.util.Map;

import ms.platform.progress.dto.IndexAuditDto;
import ms.platform.progress.model.AuditResult;

public interface IndexAuditDao {
	/**
	 * 分页查询审核列表
	 * @param map
	 * @return
	 */
	public List<IndexAuditDto> queryPageAuditList(Map<String, Object> map);

	IndexAuditDto queryAudit(Integer recordId);

	/**
	 * 分页查询获取总条数
	 * @param map
	 * @return
	 */
	public Integer queryPageAuditCount(Map<String, Object> map);
	
	/**
	 * 更新审核状态
	 * @param map
	 */
	public void updateAuditStatus(Map<String, Object> map);
	
	/**
	 * 保存审核结果
	 * @param auditResult
	 */
	public void saveAuditResult(AuditResult auditResult);
	
	/**
	 * 根据用户id查询用户角色
	 * @param userId
	 * @return
	 */
	public String queryRoleNameByUserId(String userId);
	
	/**
	 * 关联审批记录id
	 * @param map
	 */
	public void associatedAuditRecordId(Map<String, Object> map);
	/**
	 * 根据用户Id查询用户角色
	 * @param userId
	 * @return
	 */
	public List<String> queryRoleIdByUserId(String userId);
	/**
	 * 修改审批结果
	 * @param auditResult
	 */
	public void updateAuditResult(AuditResult auditResult);
	/**
	 * 根据审批id查询审批结果
	 * @param id
	 * @return
	 */
	public AuditResult getAduitResult(Integer id);
	/**
	 * 修改进度状态
	 * @param auditResult
	 */
	public void updateProgressStatus(AuditResult auditResult);
	/**
	 * 根据计划id和当前工序名称查询计划工序ID
	 * @param map
	 * @return
	 */
	public Integer queryProcessIdByPlanIdAndPlanName(Map<String, String> map);
}
